{{tag>gestionnaire_de_fenêtres brouillon}}

----

====== JWM ======


===== Introduction =====

**JWM** //(Joe's Window Manager)// est un gestionnaire de fenêtres pour le système X Window. **JWM** est écrit en C et peut être compilé en ne nécessitant que la bibliothèque Xlib.

Il fournit un environnement graphique à la Windows 95.

===== Installation =====

**JWM** se trouve dans les [[:depots|dépots]] //Universe// (cf. documentation). Le paquet « jwm » permet de l'[[:gestionnaire_de_paquets|installer]].



===== Configuration =====

Tout tient dans un unique fichier de configuration appelé jwmrc.
Par défaut ce dernier est situé dans <code>/etc/jwm</code>.
Pour plus de confort lors de la configuration je vous conseille de le copier dans votre dossier personnel sous le nom <code>.jwmrc</code>.
<code>cp /etc/jwm/jwmrc ~/.jwmrc</code>

Le fichier est codé en XML très facile a comprendre.
Je vais essayer de « découper » le fichier le mieux possible.

==== Le menu ====
Il se situe dans la section "RootMenu"
Voici le mien (créé juste pour l'exemple) : 
<code><RootMenu label="Debian" labeled="false" height="0">

    <Font>-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*</Font>
    <Program icon="xterm.xpm" label="Terminal">xterm</Program>

    <!-- Addititional Menu attributes (height, labeled) -->
    <Menu icon="folder.xpm" label="Applications">
       <Program icon="firefox.png" label="Firefox">firefox</Program>
       <Program icon="amsn.xpm" label="aMSN">amsn</Program>
       <Program icon="mini-filemgr.xpm" label="Rox">rox</Program>
       <Program icon="xmms.xpm" label="XMMS">xmms</Program>
       <Program icon="gedit.png" label="Edit GFG">emacs</Program>	
	
    </Menu icon="shutdown24.xpm" label="SESSION" height="32">
     
     <Separator/>

    <Restart icon="mini.start.xpm" />
    <Exit    icon="mini.exit.xpm"  confirm="false" />
 </RootMenu> </code>
Analysons tout ce bazar.
D'abord la balise <RootMenu> : elle admet plusieurs attributs : **label** : sera affiché en haut du menu si l'attribut **labeled** a la valeur "true", ce deuxième attribut est facultatif et s'il n'est pas indiqué sa valeur par défaut est "false".
**height** définit la hauteur des lignes du menu. En utilisant la valeur Zéro elle s'adapte automatiquement à la taille des éléments.
On comprend facilement les balises <Program>. Deux attributs : **icon** et **label** (nom de l'entrée) On tape dans la balise le nom de l'exécutable.
Un sous-menu est contenu dans la balise <Menu> avec, la aussi, les attributs **icon** et **label**, l'attribut **height est optionnel, il spécifie la hauteur des items qui dépendent du sous menu. Je ne vous ferez pas l'injure de vous expliquer le rôle de la balise <Separator>.

La balise <Restart> redémarre JWM.
Enfin <Exit> ferme la session, l'attribut **confirm**, s'il a pour valeur true, demande juste a l'utilisateur s'il veux vraiment quitter .

==== Les icônes ====

Il faut dire a JWM dans quels dossiers elles se trouvent. Cela se passe entre les balises **Icons** (très original...)
Voici ma section Icons (vers la fin du fichier) <code> <Icons>
    <IconPath>/usr/share/icons/gnome/48x48/apps</IconPath>
    <IconPath>/usr/share/fvwm95/mini-icons/</IconPath>
    <IconPath>/usr/X11R6/include/X11/pixmaps</IconPath>
  </Icons></code>
Je continue quand je peux... A très bientôt ;)


===== Liens =====

  * Site officiel : http://www.joewing.net/programs/jwm/
  * JWM sur Wikipédia [[wp>JWM|en anglais]] et [[wpfr>JWM|en français]]

----

//Contributeurs : ?//
daypitoum